

export default {

    /**
     * @func 唤起第三方app
     * @param {Object} query 请求参数
     * @param {string} appName 应用显示的名称
     * @param {string} appID iOS使用，要启动应用的scheme
     * @param {string} messageExt iOS使用，获取方法参考微信iOS SDK中的LaunchFromWXReq,启动App时附加的额外信息
     * @param {string} packageName Android使用，要启动应用的包名称
     * @param {string} param Android使用，传递给第三方的参数，第三方通过intent.getStringExtra("launchParam")得到传过去的参数值（例如本例getStringExtra得到的结果是webview）；如出现无法唤起第三方APP的时候，可以param中附加参数excludeLauncherApp=true尝试
     * @returns {Promise} 返回一个Promise
     */
    showWatermark: function (query) {
        return new Promise(async (resolve, reject) => {
            wx.invoke('launch3rdApp', {
                'appName': query && query.appName ? query.appName : '微信',
                'appID': query && query.appID ? query.appID : 'wechat',
                'messageExt': query && query.messageExt ? query.messageExt : 'from=weixin_webview',
                'packageName': query && query.packageName ? query.packageName : 'com.tencent.mm',
                'param': query && query.param ? query.param : 'webview',
            }, function (res) {
                resolve(res)
                console.log("唤起第三方app----", res);
            }
            )
        })
    },


    /**
     *  @func 唤起第三方app并交互登录信息
     *  @param {Promise} 返回一个Promise
     *  @param {Object} query 请求参数
     *  @param scheme 内部调用格式：{scheme}://wxworklocal?token=xxx&seq=xxx&param={param}，统一通过scheme
     *                   唤起，seq表示请求id，回传时使用。token也就是code，第三方app后台可以调用通过code获取
     *                   用户信息的接口获取用户账号。参看“开放登录”--“OAuth2.0网页授权”部分
     *  @param needToken 是否需要传递登录票据给第三方App，0:不需要 1:需要
     *  @param param 一个Base64 encode的json数据，
     *               车牌识别： {"action":"ocr","type":1}
     *               身份证识别：{"action":"ocr","type":2}
     *               居住证识别：{"action":"ocr","type":3}
     *               NFC识别身份证：{"action":"nfc","type":2}
     *               “业务方可自行在参数'param'中增加一个scheme（可通过UA获取），在处理完后通过scheme参数传递的值回跳到指定app”
     */
    request3rdApp: function (query) {
        return new Promise(async (resolve, reject) => {
            wx.invoke('request3rdApp', {
                'scheme': query && query.scheme ? query.scheme : '',
                'needToken': query && query.needToken ? query.needToken : 0,
                'param': query && query.param ? query.param : {},
            }, function (res) {
                resolve(res)
                console.log("唤起第三方app并交互登录信息----", res);
            }
            )
        })
    },


}